//
//  BoxfishAnimator.h
//  Training-Teacher
//
//  Created by dev on 12-10-30.
//
//

#import <Foundation/Foundation.h>
#import "Constants.h"

@interface BoxfishAnimator : NSObject

+ (void)appearToCenter:(UIView*)view withParentView:(UIView*)parentView duration:(NSTimeInterval)duration;
+ (void)appearToPosition:(CGPoint)position withView:(UIView*)view duration:(NSTimeInterval)duration;
+ (void)disappearToPosition:(CGPoint)position withView:(UIView*)view duration:(NSTimeInterval)duration completion:(void (^)(void))action;

+ (void)moveFromBottom:(UIView*)view
        withParentView:(UIView*)parentView
               offsetX:(float)offsetX
            toPosition:(CGPoint)toPosition
              duration:(NSTimeInterval)duration;

+ (void)moveFromBottom:(UIView*)view
        withParentView:(UIView*)parentView
            toPosition:(CGPoint)toPosition
              duration:(NSTimeInterval)duration;

+ (void)flyInFromHorizontalEdge:(NSArray*)info swipeDirection:(SwipeDirection)direction;

+ (void)flyOutofLeftEdge:(UIView*)view duration:(NSTimeInterval)duration;

+ (void)flyInFromRightEdge:(UIView*)view
        withTargetPosition:(CGPoint)targetPostion
                parentView:(UIView*)parentView
                  duration:(NSTimeInterval)duration;

+ (void)flyInFromLeftEdge:(UIView*)view
       withTargetPosition:(CGPoint)targetPostion
                 duration:(NSTimeInterval)duration;

+ (void)jump:(UIView*)view withOffset:(float)offset jumpTimes:(int)jumpTimes completion:(void (^)(void))action;
+ (void)jump:(UIView*)view withOffset:(float)offset jumpTimes:(int)jumpTimes;
+ (void)jump:(UIView*)view withOffset:(float)offset;
+ (void)pulse:(UIView*)view;
+ (void)pulse:(UIView*)view completion:(void (^)(void))action;

+ (void)verticalFlipFromView:(UIView*)fromView
                      toView:(UIView*)toView
              withParentView:(UIView*)parentView;

+ (void)blink:(UIView*)view;
+ (void)blink:(UIView*)view duration:(CGFloat)duration;

+ (void)beamFromBottom:(UIView*)containerView
           contentView:(UIView*)contentView
              duration:(NSTimeInterval)duration
            targetSize:(CGSize)targetSize
     completion:(void (^)(void))action;

+ (void)shakeHorizontal:(UIView*)view completion:(void (^)(void))action;

+ (void)showInfoInScreenCenterWithText:(NSString*)text textColor:(UIColor*)textColor font:(UIFont*)font completion:(void (^)(void))completion;

+ (void)shakeView:(UIView*)view withAngle:(float)angle duration:(float)duration;
+ (void)shakeView:(UIView*)view withAngle:(float)angle duration:(float)duration repeatCount:(int)repeatCount;

+ (void)revealFromLeftByView:(UIView*)view duration:(float)duration;
+ (void)revealFromLeftByView:(UIView*)view duration:(float)duration isAutoRemove:(BOOL)isAutoRemove;
@end
